import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyFrame extends JFrame{
    JTextField t1,t2;
    JButton b1;
    public MyFrame(String name){
        super(name);//帮助父类构造对象
        setSize(600,600);//设置窗口的宽高

        t1=new JTextField(20);
        t2=new JTextField(20);
        b1=new JButton("复制");
        add(t1);
        add(t2);
        add(b1);

        setLayout(new FlowLayout());//设置布局-顺序排放

        setVisible(true);//设置值窗口可见
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//？？？为什么报错,没有这个窗口无法关闭
        //报错是因为继承的类名不对。之前写的是继承Frame,JFrame和Frame不是一个东西

        H d=new H();//创建监听器对象
        b1.addActionListener(d);//传入监听器对象，内部会对重写的监听方法进行处理，从而完成相关操作
        //t1.addActionListener(d);
        //？？？为什么两个组件都要添加监听器对象呢
        //     经过测试，只需要对按钮进行事件处理即可
    }
    class H implements ActionListener{
        //重写监听方法-actionPerformed方法
        public void actionPerformed(ActionEvent e){
            String s=t1.getText();
            //事件处理
            t2.setText(s);
            t1.setText(" ");
        }
    }
    //实现对按钮的事件处理，需要创建监听器对象，该对象实现监听接口并重写内部的监听方法
    //让按钮对象调用监听方法
    public static void main(String[] args) {
        new MyFrame("第一个窗口测试");
    }
}
